#!/bin/bash

echo "🚀 部署环境工程咨询系统到服务器..."

# 检查是否在服务器环境
if [ ! -d "/var/www" ]; then
    echo "❌ 这不是服务器环境，请在服务器上运行此脚本"
    exit 1
fi

# 进入项目目录
cd /var/www/environmental-consulting

# 1. 更新代码
echo "📥 更新代码..."
git pull origin main

# 2. 构建前端
echo "📦 构建前端..."
npm install
npm run build

# 3. 设置后端环境
echo "🐍 设置后端环境..."
cd backend

# 创建.env文件
cat > .env << 'EOF'
# 生产环境配置
DATABASE_URL=sqlite:///./environmental_consulting.db

# JWT配置
SECRET_KEY=gzqhsz-environmental-consulting-super-secret-key-2024-production
ALGORITHM=HS256
ACCESS_TOKEN_EXPIRE_MINUTES=30

# 应用配置
DEBUG=false

# 服务器配置
HOST=0.0.0.0
PORT=8001

# 前端URL（用于CORS）
FRONTEND_URL=http://121.37.182.125
EOF

# 激活虚拟环境并安装依赖
source venv/bin/activate
pip install -r requirements.txt

# 4. 初始化数据库
echo "🗄️ 初始化数据库..."
python -c "
from app.database import engine, Base
from app.models import *
Base.metadata.create_all(bind=engine)
print('数据库初始化完成')
"

cd ..

# 5. 创建日志目录
mkdir -p logs

# 6. 重启PM2服务
echo "🔄 重启服务..."
pm2 delete environmental-api 2>/dev/null || true
pm2 start ecosystem.config.js
pm2 save

# 7. 重启Nginx
echo "🌐 重启Nginx..."
systemctl restart nginx

# 8. 检查服务状态
echo "✅ 检查服务状态..."
pm2 status
echo ""
echo "🌐 前端地址: http://121.37.182.125"
echo "📚 API文档: http://121.37.182.125/docs"
echo "💚 健康检查: http://121.37.182.125/api/health"

echo "🎉 部署完成！"
